package com.kefu.sys.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import java.io.Serializable;

@Data
@TableName(value="sys_tenant")
@ApiModel(description="租户")
public class SysTenant implements Serializable {
    /**
     * 主键
     */
    
    @TableId(value="tenant_id")
    @NotEmpty
    @ApiModelProperty(name = "tenantId", value = "主键")
    private String tenantId;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    @ApiModelProperty(name = "createTime", value = "创建时间")
    private Long createTime;

    /**
     * 更新时间
     */
    @TableField(value = "update_time")
    @ApiModelProperty(name = "updateTime", value = "更新时间")
    private Long updateTime;

    /**
     * 公司名称
     */
    @TableField(value = "tenant_name")
    @ApiModelProperty(name = "tenantName", value = "公司名称")
    private String tenantName;

    /**
     * 状态：0停用，1启用
     */
    @TableField(value = "tenant_status")
    @ApiModelProperty(name = "tenantStatus", value = "状态：0停用，1启用")
    private Integer tenantStatus;

    /**
     * 图标
     */
    @TableField(value = "tenant_icon")
    @ApiModelProperty(name = "tenantIcon", value = "图标")
    private String tenantIcon;

    /**
     * 联系人姓名
     */
    @TableField(value = "contact_name")
    @ApiModelProperty(name = "contactName", value = "联系人姓名")
    private String contactName;

    /**
     * 联系人邮箱
     */
    @TableField(value = "contact_email")
    @ApiModelProperty(name = "contactEmail", value = "联系人邮箱")
    private String contactEmail;

    /**
     * 联系人电话
     */
    @TableField(value = "contact_tel")
    @ApiModelProperty(name = "contactTel", value = "联系人电话")
    private String contactTel;

    /**
     * 密钥
     */
    @TableField(value = "tenant_secret")
    @ApiModelProperty(name = "tenantSecret", value = "密钥")
    private String tenantSecret;

    /**
     * 密钥
     */
    @TableField(value = "app_secret")
    @ApiModelProperty(name = "appSecret", value = "密钥")
    private String appSecret;

    /**
     * 坐席数量
     */
    @TableField(value = "user_count")
    @ApiModelProperty(value = "坐席数量")
    private Integer userCount;

    /**
     * 可用通话额度（时长）
     */
    @TableField(value = "available_call_count")
    @ApiModelProperty(value = "可用通话额度（时长）")
    private Integer availableCallCount;

    /**
     * 可用通话额度报警阈值
     */
    @TableField(value = "quota_alert_threshold")
    @ApiModelProperty(value = "可用通话额度报警阈值")
    private Integer quotaAlertThreshold;

    /**
     * 机器人数量
     */
    @TableField(value = "robot_count")
    @ApiModelProperty(value = "机器人数量")
    private Integer robotCount;

    /**
     * 外呼机器人数量
     */
    @TableField(value = "robot_call_count")
    @ApiModelProperty(value = "外呼机器人数量")
    private Integer robotCallCount;

    /**
     * 坐席助手数量
     */
    @TableField(value = "helper_info_count")
    @ApiModelProperty(value = "坐席助手数量")
    private Integer helperInfoCount;

    /**
     * 租户特殊配置
     */
    @TableField(value = "special_config")
    @ApiModelProperty(name = "specialConfig", value = "租户特殊配置，json格式")
    private String specialConfig;

    /**
     * 租户到期时间
     */
    @TableField(value = "expire_time")
    @ApiModelProperty(value = "租户到期时间")
    private Long expireTime;
    /**
     * 是否在支撑显示
     */
    @TableField(value = "bshow_flag")
    @ApiModelProperty(value = "是否在支撑显示，1显示，0不显示")
    private Long bshowFlag;
    private static final long serialVersionUID = 1L;

    /**
     * ai大模型数量
     */
    @TableField(value = "aidata_count")
    @ApiModelProperty(value = "ai大模型数量")
    private int aidataCount;

    @TableField(value = "version_id")
    @ApiModelProperty(name = "versionId", value = "版本id")
    private String versionId;

    // 线路名称
    @TableField(exist = false)
    @ApiModelProperty(value = "线路名称")
    private String gateWayName;

    // 线路Id
    @TableField(exist = false)
    @ApiModelProperty(value = "线路Id")
    private String gateWayId;

    // 版本名称
    @TableField(exist = false)
    @ApiModelProperty(value = "版本名称")
    private String versionName;
}